import { getUserInfo, postLogin } from '@/api/user'
import { getToken } from '@/utils/auth'
import { setToken } from '@/utils/auth'
import { resetRouter } from '@/router/index.js'
const state = {
  token: getToken() || '',
  userInfo: {}
}

const mutations = {
  //  存储 token
  setToken(state, token) {
    // 修改state.token
    state.token = token
    // 存入Cookie
    setToken(token)
  },
  //  获取个人资料
  getInfo(state, data) {
    state.userInfo = data
  }
}

const actions = {
  //  登录
  async login(context, data) {
    const res = await postLogin(data)
    console.log(res)
    context.commit('setToken', res.data)
  },
  // 获取个人用户信息
  async getProfile(context, data) {
    const res = await getUserInfo()
    // console.log(res.data)
    context.commit('getInfo', res.data)
    return res.data
  },
  // 退出登录
  logout(context) {
    //  清空 vuex
    // 清空 本地
    context.commit('setToken', '')
    context.commit('getInfo', '')
    // 重置路由
    resetRouter()
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}

